// fn main() {
//     //let s1 = String::from("111");
//     let s1:i32 = 1;

//     let s2 = s1;
//     //let s2 = s1.clone();

//     println!("s1 = {}",s1);

//     let s1 = String::from("11111");

//     let s2 = print_string(s1);

//     println!("{}",s2);

//     let mut s1:i32 = 1;
//     print_int(s1);

//     println!("{}",s1);

//     println!("Hello, world!");
// }

// //fn print_string(s :String) {
// fn print_string(s :String) -> String {
//     println!("{}",s);

//     //s
//     s
// }

// fn print_int(mut i :i32){
//     println!("{}",i);
//     i = i+1;
// }

// fn main() {
//     let s1 = String::from("111");

//     print_string(s1.clone());

//     println!("{}",s1);

//     println!("Hello, world!");
// }

// fn print_string(s :String) {
//     println!("{}",s);
// }

// fn main() {
//     let s1 = String::from("111");

//     let s1 = print_string(s1);

//     println!("{}", s1);

//     println!("Hello, world!");
// }

// fn print_string(s: String) -> String {
//     println!("{}", s);
//     s
// }

fn main(){
    let mut s = String::from("111111");

    print_string(&s);
    println!("{}",s);

    add_string(&mut s);
    println!("{}",s);

    let s1 = &s;
    let s2 = &s;

    println!("{} , {}",s1,s2);

    let s3 = &mut s;
    //let s4 = &mut s;

    println!("{}",s3);
    // println!("{} , {}",s1,s2);
}

fn print_string(s : &String){
    println!("{}",s);
}

fn add_string(s :&mut String){
    s.push_str("2222222");
}
